//  ********自定义全局函数  commonly used*********
exports.install = function (Vue, options) {
	//download_file
    Vue.prototype.downloadFile = function(code){
      let tokenId = sessionStorage.getItem('tokenId') 
      window.location.href=process.env.BASE_API+'/op/fileupload/download_file?fileCode='+code+'&token='+tokenId 
    }

    /*
    	array中元素格式转换_usedby_option v-model
      （option绑定值为数组['']）
    */
	// ['']=>[{code:''}]
	Vue.prototype.RequireCodeToSub = function(arr){
		if(arr.length>0){
			return arr.map(item=>{
				return {
		  					code:item
		  				}
			})
		}
		else{
			return []
		}
	}
	// [{code:''}]=>[''] 
	Vue.prototype.Recontent_fromcode = function(arr){
		let newarr = [] 
		arr.map((item)=>{
			newarr.push(item.code)
		})
		return newarr 
	}

	/*
    	array中元素格式转换_usedbyfile 
    */
	// [{response:{data:{code:''}}}] =>[{code:''}]
	Vue.prototype.ReFileCodeToSub = function(arr){
		if(arr.length>0){
			return arr.map(item=>{
				return {
		  					code:item.status == 'done' ? (item.code || item.response.data.code) :''
		  				}
			})
		}
		else{
			return []
		}
	}
	/* [{code:''}] =》 [{code:'',url:''...}] 为后续上传，存储保持一致设定字段*/
	Vue.prototype.FormEditFile = function(arr){
		if(arr.length>0){
			return arr.map((item,index)=>{
					return {
						url:'/'+index,//cursor效果
						uid:item.code,//uid ：default 默认类型回填 ； 
						code:item.code,//提交表单时 需要取跟上传文件处理后返回同样的code   上传文件后取code
			            name: item.name,
			            status: 'done',  
					}
				})
		}
		else{
			return []
		}
	}
	//delfile  filecode：待删除文件code / arr：文件list
	Vue.prototype.removeFile_fromList = function(filecode,arr){ 
		arr.map((item,index)=>{  
  			let code = item.response ? item.response.data.code : item.code 
	        if(filecode == code){  
	            arr.splice(index,1)
	        }
	    })
	}
	
	//textarea 特殊字符串格式存储（空格和换行） n a => n&nbsp;a
	Vue.prototype.strSpace_to_save = function(str){
		if(str  == null ||  str == undefined){
			return ''
		} 
		else{
			str = str.replace(/</g, '&lt;'); //
	        str = str.replace(/>/g, '&gt;'); //
	        str = str.replace(/\n/g, '<br/>');//换行处理
	        str = str.replace(/\s/g, '&nbsp;'); //空格处理
	        return str
		} 
	}
	//textarea 特殊字符转换 n&nbsp;a=> n a
	Vue.prototype.saveSpace_to_str = function(val){ 
		if(val != null){
              val = val.replace(new RegExp("<br/>", "g"), '\n');
              val = val.replace(new RegExp("&nbsp;", "g"), ' '); //空格处理
              val = val.replace(/&lt;/g, '<'); //
              val = val.replace(/&gt;/g, '>'); //
        } 
        return val
	}

	//back_forward
	Vue.prototype.back_common = function(){ 
		 this.$router.go(-1)
	}

	
}